#!/usr/bin/qdroid
#codepage=Utf-8;

// ver 2009.09.16_0322
// "тест на дым" на загрузку QD-расширений
// расширения "формата 1" (v.2009.04.27_1930) 

// требует версию qDROID не ниже 2009.09.12_0000
// ??требует расширения seriallink_otpd

var res;
var extention_name="qdlib_otpdnode"; //<<-- имя тестируемого расширения
var otpd_ini_file_name="./otpd_node.ini"; //
var otpd_log_file_name="./otpd_node.log"; //
var otpd_test_task="<phtml>Hello world!<br>This is <br><center><b>OTPD-over-QDroid prototype</b><br><left> test print!<br></phtml>";

function main()
{
	print ("== Welcome to OTPD-over-QDroid print test !==");
	// пробуем загрузить расширение. если не загрузили ранее - должны выдать "0" (ок)
	res=loadlib_qd(extention_name); // <<----- загружаем расширение
	//BBot.msgbox_information("","Код результата загрузки ["+extention_name+"] :"+res,1);
	print("Extention loading result : extention:["+extention_name+"] code:"+res+" \n");
	
	// вызовем зерегистрированный объект и обратимся к его функциям
	var obj_n=new OtpdNode; // <<----- работает только если успешно загрузили расширение  
	MsgText= "[ "+obj_n.GetId()+" ]\n";
	print(" :: +obj_n.GetId()="+MsgText+" \n");
	

	print ("==(1)== Initiating OTPD subsystem");
	var initRes=obj_n.init_from_file(otpd_ini_file_name,otpd_log_file_name);
	MsgText = ""; MsgText = MsgText+" Инициируем узел: код возврата: <"+initRes+">";
	print(" :: "+MsgText+" \n");
	print ("Проверьте наличие/содержимого файлов \n (должны появиться если не было)\n ["+otpd_ini_file_name+"], ["+otpd_log_file_name+"]");

	print ("==(2)== Requesting about system status.");
	var ask1Res=obj_n.get_status();
	MsgText = MsgText+" System status is: \n<"+ask1Res+">";
	print(" :: "+MsgText+" \n");

	print ("==(3)== Sending simple test task to OTPD.");
	var sendRes=obj_n.send(otpd_test_task);
	MsgText = ""; MsgText = MsgText+" Sending probe task. Result code is: <"+initRes+">";
	print(" :: "+MsgText+" \n");
	

	print ("==(4)== Asking about job status.");
	var ask2Res=obj_n.get_jobstatus("job_1.0");//job_1.0 - standart first name for work
	MsgText = ""; MsgText = MsgText+" Job statuses are: \n<"+ask2Res+">";
	print(" :: "+MsgText+" \n");


	print ("==(5)== Sending simple test task to OTPD.");
	// теперь пробуем загрузить повторно. должно выдать -1 
	res=loadlib_qd(extention_name); // <<----- загружаем расширение
	//BBot.msgbox_information("","Код результата повторной загрузки ["+extention_name+"] :"+res,1);
	print("Код результата повторной загрузки ["+extention_name+"] :"+res+" \n");
	
	return "ok";

}

//print (0x10+4); <<-- указание значения в шестнадцатиричнос виде работает.


main();
//exit();
